home *** CD-ROM | disk | FTP | other *** search
/ Nikkei Mac 20 / NIKKEI-MAC-CD-VOL-20-1998-12.ISO.7z / NIKKEI-MAC-CD-VOL-20-1998-12.ISO / オンラインソフト / 9.ウェブ作成ツール / PageSpinner / PageSpinner Docs Japan.sit / PageSpinner Docs Japan / Examples / JavaScript / Random Link Example < prev    next >
Text File  |  1997-06-14  |  4KB  |  138 lines

  1. <HTML><HEAD>
  2. <TITLE>JavaScript ランダムリンクの例</TITLE>
  3.  
  4. <SCRIPT LANGUAGE="JavaScript">
  5. <!-- Beginning of JavaScript --------
  6. /* 
  7.     GetRandomURL
  8.     Written by Jerry Aman, Optima System, May 19, 1996.
  9.     Revised March 28, 1997.
  10.     Part of the PageSpinner distribution.
  11.  
  12.     We will not be held responsible for any unwanted 
  13.     effects due to the usage of this script or any derivative.
  14.     No warrantees for usability for any specific application 
  15.     are given or implied.
  16.  
  17.     You are free to use and modify this script,
  18.     if credits are kept in the source code
  19. */
  20.  
  21.  
  22. function GetRandomURL()
  23. {
  24.     // Put relative or full URL's in the strings below
  25.     // You can increase the number of URL's to more than 5 by adding a
  26.     // string containing an URL in list below
  27.  
  28. var locationlist = new URLList (
  29.     "harpo.html",
  30.     "groucho.html",
  31.     "chico.html",
  32.     "zeppo.html",
  33.     "Scrolling Text Stationery"
  34. );
  35.  
  36.     num = Math.round ( ( rand.next() * (locationlist.count-1)) );
  37.  
  38.     location.href = locationlist.list[num];
  39. }
  40.  
  41. function URLList ()
  42. {
  43.     var argv = URLList.arguments;
  44.     var argc = argv.length;
  45.     this.list = new Object();
  46.     for (var i = 0; i < argc; i++)
  47.     this.list[i] = argv[i];
  48.     this.count = argc;
  49.      return this;
  50. }
  51.  
  52. //*********************************************
  53. // Park-Miller Pseudo-Random Number Generator
  54. // JavaScript implementation by David N. Smith
  55. // of IBM's T J Watson Research Center
  56. //*********************************************
  57. function NextRandomNumber()
  58. {
  59.     var hi   = this.seed / this.Q;
  60.     var lo   = this.seed % this.Q;
  61.     var test = this.A * lo - this.R * hi;
  62.     if (test > 0)
  63.         this.seed = test;
  64.     else
  65.         this.seed = test + this.M;
  66.     return (this.seed * this.oneOverM);
  67. }
  68.  
  69. function RandomNumberGenerator() 
  70. {
  71.     var d = new Date();
  72.     this.seed = 2345678901 +
  73.     (d.getSeconds() * 0xFFFFFF) +
  74.     (d.getMinutes() * 0xFFFF);
  75.     this.A = 48271;
  76.     this.M = 2147483647;
  77.     this.Q = this.M / this.A;
  78.     this.R = this.M % this.A;
  79.     this.oneOverM = 1.0 / this.M;
  80.     this.next = NextRandomNumber;
  81.     return this;
  82. }
  83.  
  84. var rand = new RandomNumberGenerator();
  85.  
  86. // -- End of JavaScript code -------------- -->
  87. </SCRIPT>
  88.  
  89. </HEAD>
  90. <BODY>
  91. <H1>JavaScript ランダムリンクの例</H1>
  92.  
  93. <B>このひな形ページには、URL をランダムに選択する JavaScript の例が含まれています。</B>
  94. <P>
  95. 現在 JavaScript は Netscape Navigator 2.0 以降と Internet Explorer for MacOS version 3.0.1 以降でのみ使用できることに注意して下さい。
  96. <P>
  97. Internet Explorer での JavaScript の実施化は、しばしば JScript とも呼ばれますが、Netscape の実施化とは幾分異なっています。Internet Explorer for MacOS の Version 3.0 では、JavaScript をサポートしていませんでしたが、Internet Explorer version 3.0.1 b1 からは JavaScript が導入されました。
  98. <FONT COLOR="931B15">あなたはすべての読者が JavaScript を埋め込まれたブラウザを使用していると思ってはいけません。</FONT>
  99. <HR>
  100. <P>
  101. このスクリプトは <B>GetRandomURL</B> と名前を付けて、このHTML 文書の HEAD セクションに置かれています。GetRandomURL() の呼出しが書かれているリンクをクリックすると、スクリプトが実行されます。 カーソルをリンクの上に置くと、ブラウザのステイタスエリアに表示されるカスタムテキストにも注意してください。
  102. <P>
  103.  
  104. ページを <A HREF="javascript:GetRandomURL()"
  105.  onMouseOver="window.status='このリンクはあなたを知らないところに連れていってくれます'; return true">ランダム</A> ページ。
  106.  
  107. <P>
  108.  
  109.  
  110. <P>
  111. <B>使い方:</B><BR>
  112. <BLOCKQUOTE>
  113. このスクリプトの中にあるファイル名のリストをあなたが希望する URL のリストに置換えて、このページの <BODY> セクション内にあるコンテンツも編集します。スクリプト全体を既存のぺーにコピーして使用できます。
  114.  
  115. <XMP>function GetRandomURL()
  116. {
  117. var locationlist = new URLList (
  118.     "harpo.html",
  119.     "groucho.html",
  120.     "chico.html",
  121.     "zeppo.html",
  122.     "http://home.netscape.com/eng/mozilla/Gold/handbook/javascript/"
  123.     );
  124. </XMP>
  125. <P>
  126. これと同じコードを使うと、読者はスクリプトを実行できます:
  127. <XMP><A HREF="javascript:GetRandomURL()" 
  128.  onMouseOver="window.status='このリンクはあなたをどこか知らない所に連れて行ってくれます';
  129. return true;">random</A></XMP>
  130.  
  131. <P>
  132.    注意:リストに載せる URL の数は、まだ文書化されていない制限があるように思われます。そのため、大きな数のリンク(40 か 50以上)を載せるには、複数のリストを作って GetRandomURL() 関数が最初にリストをランダムを選ぶように拡張しなければならないかもしれません。
  133. </BLOCKQUOTE>
  134.  
  135. <!--Translated by <A HREF="mailto:hosoka@ca2.so-net.or.jp">Shuji HOSOKAWA</A>-->
  136. </BODY>
  137. </HTML>
  138.